//我们知道了条件运算符，可以掌握ts中的兼容性以及类型的层级
//兼容性：就是可以把一个值赋予给某个值
//类型层级：低的层级可以赋予给高的层级

//--------------1、字面量类型可以赋予给基础类型----------------
type R1='abc' extends string ? true:false
type R2=123 extends number ? true:false
type R3=true extends boolean ? true:false

//--------------2、字面量类型可以赋予给联合类型----------------
type R4='abc' extends 'abc'|'dd'|'cc' ? true:false
type R5=123 extends 123|355|66 ? true:false
type R6=true extends true | false ? true:false

//--------------3、基础类型可以赋予给包装类型----------------

type R7=string extends String ? true:false
type R8= number extends Number ? true:false
type R9=boolean extends Boolean? true:false
type R10=boolean extends Object? true:false

//--------------4、any unknow 是最大的类型----------------

type R11=Object extends any? true:false
type R12=Object extends unknown? true:false
type R13=never extends 'abc'? true:false

//--------------总结、never<字面量<字面量联合类型--------------
//--------------字面量<原始类型<包装类型<Object<any | unknown--------------

//--------------5、针对any来说，永远返回的是成功和失败的联合类型 ----------------
type R14=any extends 1? true:false //boolean

//--------------5、any unknown 是最大的类型----------------
type R15=1 extends unknown? true:false //boolean

